Reporte Hito 3: Proceso constituyente Chileno

Matías Arriola - Ariel Barraza

28 de Junio de 2019

1. Introducción

Luego de la exploración de los datos, en donde se trabajaron con los datos obtenidos en los cabildos auto convocados, que completaban 90804 observaciones de consultas individuales, se plantearon distintas hipótesis sobre estos datos. En este informe se detallan los resultados de los experimentos realizados y resultados obtenidos que se realizaron sobre los datos, en donde se procedió a utilizar distintas técnicas de aprendizaje no supervisado tales como clustering, K-means y reglas de asociación, en donde se analizaron sus respectivos resultados, y finalmente se agregan las conclusiones pertinentes a lo resultados evaluando si las hipótesis fueron correctas.

2. Hipóteis

Las hipótesis que este trabajo busca probar son que:

*Existe una diferenciación entre los conceptos votados agrupados por grupo etario.
*Existe una diferenciación entre los conceptos votados agrupados por grupo etario.
*Existe relación entre la votación de grupos de conceptos, pero no sabemos cuáles.

3. Metodología

La métodología de trabajo consistió en una parte de Exploración de Datos para realizar una exploración preliminar y distintos experimentos que buscaban confirmar o refutar dichas hipótesis. Estos son:

*Reducción de Dimensionalidad: donde se verificó si los datos tenían cierta estructura

*Clustering: para buscar realciones entre grupos de concepto.

*Reglas de asociación: en donde primero se realizó un analisis por grupo etario, para lo cual se dividió en 5 grupos de edades distintos, en donde el primer grupo estaba conformado por personas de hasta 19 años, y el último por personas sobre los 59 años de edad. Luego, se realizarón reglas de asociación por zona geográfica, en donde primero se realizó por regiones, y finalmente se analizó de manera particular la región metropolitana dividiendo esta región en comunas, con el fin de encontrar posibles reglas diferenciadoras de cada zona y comuna

4. Exploración de los datos

4.1 Los conceptos más votados.

En la siguiente tabla muestra los promedios porcentuales de votación de los conceptos más votados por region. La varianza, en la mayoría de los casos, es en torno al $10\%$ o menor. Pero en el caso de Descentralización aumenta en torno al $15\%$.

El concepto más votado de "Justicia" con alrededor del $46\%$ del total, por lo que parece ser el concepto de mayor concenso entre los participantes. Le sigue Descentralización, Igualdad, Democracia y Respeto/convervacion de la naturaleza o medio ambiente, todos ellos sobre el $30\%$ de las votaciones.

In [12]:
from IPython.display import Image
i = Image(filename='/Users/arielbarraza/Documents/Cursos/2019_01/CC5206/Proyecto/hito3/conceptos_mas_votados.png')
display(i)

4.2 Los conceptos menos votados.

En la siguiente tabla muestra los promedios porcentuales de votación de los conceptos menos votados por region. La varianza, en algunos casos, puede llegar $20\%$ (como en el caso de Pluralismo), pero aún asi, como se trata de números pequeños, en realidad no es mucho lo que varía por región.

In [14]:
display(Image(filename='/Users/arielbarraza/Documents/Cursos/2019_01/CC5206/Proyecto/hito3/conceptos_menos_votados.png'))

4.3 Algunas distribuciones de votos por región

A continuación se presentan los gráficos de las distribuciones porcentuales de votación de algunos conceptos del grupo de los más votados, menos votados, y algunos que no pertenecen a esta categoría (más larga la barra significa más votado). La tendencia general es que la distribución por región se mantiene bastante uniforme, con alguna que otra excepción, por ejemplo, en las regiones de Tarapacá y Antofagasta el concepto de Justicia ronda el 50% (cota superior), mientras que en la región de Aysen ronda el 40% (cota inferior).

En cuanto al caso de Amistad Cívica, cuya votación no supera el 10%, lo principal que se puede aprender es que en toda región no fue un concepto popular.

Un caso especial es de Descentralización, en donde notoriamente tiene menor votación en Santiago (25%), versus alrededor del 50% que tiene en la región de Magallanes, pero esto es un caso aislado.

In [31]:
display(Image(filename='/Users/arielbarraza/Documents/Cursos/2019_01/CC5206/Proyecto/hito3/justicia.png'))
display(Image(filename='/Users/arielbarraza/Documents/Cursos/2019_01/CC5206/Proyecto/hito3/amistad_civica.png'))
display(Image(filename='/Users/arielbarraza/Documents/Cursos/2019_01/CC5206/Proyecto/hito3/descentralizacion.png'))
display(Image(filename='/Users/arielbarraza/Documents/Cursos/2019_01/CC5206/Proyecto/hito3/equidad_de_genero.png'))

4.4 Distribución de edades

Se realizó un histograma de la distribución de edades de los participantes a nivel nacional, cuyos resultados se muestran a continuación

In [1]:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
df = pd.read_excel("/Users/arielbarraza/Documents/Cursos/2019_01/CC5206/Proyecto/data/Resultado_Consultas_Individuales.xlsx")
data = df.fillna(0).values
votos = np.nan_to_num(data[:, 6:-2])
In [38]:
edades = np.array(data[:,4], dtype='float64')
fig = plt.figure(figsize = (20,10))
plt.hist(edades,bins = 163)
plt.xlabel("Edad", fontsize=20)
plt.ylabel("Frecuencia", fontsize=20)
plt.title('Histograma de Edades de los Participantes', fontsize=25)
plt.show()

Se puede observar que el rango etáreo que más participantes tuvo es el de los 25 a los 35 años, y a medida que aumenta la edad, el va disminuyendo número de participantes También se realizaron histogramas de edades en cada región del país y se encontró que la distrubución de participantes individuales, en cada región no varían demasiado en cuanto a la distribución a nivel nacional, por lo que no se adjuntan en este informe.

5. Experimentos

5.1 Reducción de Dimensionalidad

Se realizó un experimento de reducción de dimensionalidad a dos dimensiones utilizando el algotirmo T-distributed Stochastic Neighbor Embedding (t-SNE) con el objetivo se tener una vista de los datos que permita observar si existe algún tipo de estructura en ellos. La siguiente figura muestra las consultas en un espacio de dos dimensiones y se puede ver a simple vista que existe estructura en los datos ¿Cómo son?

In [39]:
from sklearn.manifold import TSNE
#X = TSNE(n_components=2).fit_transform(votos)
X=np.load('TSNE.npy')
fig = plt.figure(figsize=(20,10))
plt.scatter(X[:,0], X[:,1], alpha=0.05, marker='o')
plt.title('Vista de datos en un Espacio de 2 Dimensiones', fontsize=20)
plt.show()

5.2 Clustering

Se realizó un experimento de clustering para encontrar las estructuras de datos que, del experimento 2.1 utilizando el algoritmo k-means.

5.2.1 Primera Aproximación: Clustersering sobre datos en 2 dimensiones.

Se realizó un experimento de clustering sobre los datos en 2 dimensiones buscando captar la estructura encontrada en la figura anteior. Para la determinación del número de clusters, se utilizó el método del codo la métrica de suma de distancias cuadradas, lo que se ve en la figura a continuación:

In [40]:
from sklearn.cluster import KMeans
clust = 30 # graficaremos hasta 30 clusters
sums = np.zeros(clust)
sums2 = np.zeros(clust)
for i in range(clust):
    sums[i] = KMeans(n_clusters=i+1, random_state=0).fit(X).inertia_
    sums2[i] = KMeans(n_clusters=i+1, random_state=0).fit(votos).inertia_
In [55]:
fig = plt.figure(figsize=(10,5))
plt.plot(np.arange(clust)+1, sums, marker='o')
plt.title('Suma de distancias Cuadradas Datos en 2D', fontsize=20)
plt.xlabel("num de clusters", fontsize=15)
plt.ylabel("suma de distancias cuadradas", fontsize=15)
plt.show()

En base a la figura anterior se eligió $k=6$, pero el resultado no obedece a la estructura observada, ni con k-means ni con otros algoritmos, por lo que se esta se descartó esta aproximación. La siguiente figura muestra que los datos simplemente se dividieron en en partes iguales.

In [50]:
kmeans = KMeans(n_clusters=6, random_state=0).fit(X)
fig = plt.figure(figsize=(10,10))
plt.scatter(X[:,0], X[:,1], marker='o',  c=kmeans.labels_)
plt.title('Distribución de clusters sobre los datos en 2D', fontsize=20)
plt.show()

5.2.2. Clustersering sobre los datos crudos.

Se optó por repetir el experimento con los datos crudos y, al igual que en la sección anterior, se utilizó el método del codo para encontrar el valor de $k$.

In [56]:
fig = plt.figure(figsize=(10,5))
plt.plot(np.arange(clust)+1, sums2, marker='o')
plt.title('Suma de distancias Cuadradas Datos Crudos', fontsize=20)
plt.title('Suma de distancias Cuadradas Datos en 2D', fontsize=20)
plt.xlabel("num de clusters", fontsize=15)
plt.ylabel("suma de distancias cuadradas", fontsize=15)
plt.show()

Aquí es más difícil determinar el valor de $k$, pero se elige $k=5$ ya que es donde disminuye considerablemente la pendiente de la gráfica.

5.2.3 Resultados Clustering

Los $5$ clusters obtenidos eran el mismo tamaño, y dividieron los datos según las siguientes características:

*Gran parte de los que votaron Estado de derecho, también lo hicieron por Justicia y Democracia (Cluster 5).
*Gran parte de los que votaron Democracia, también lo hicieron por Justicia (Cluster 2).
*Una parte de los que votaron Justicia no votó por Democracia (Cluster 1).
*Hubo un grupo importante que no votó por Justicia ni Democracia ni Descentralización (Cluster 4).
*Buena parte de los que votaron medio ambiente, también lo hicieron por descentralización (Cluster 3).

Los clusters en general entregan información de los conceptos que más fueron votados en general. De los clusters se concluye que, en general la votación de Justicia, Democracia y Estado de Derecho estuvieron presentes en la discusión con gran votación y tuvieron una buena parte de la votación, y quienes no votaron por Justicia tampoco lo hicieron por Democracia (ni respeto por el medio ambiente). Esto sugiere que la estructura de la votación es aglomerativa, estando en el tope de Esta Justicia (el más votado), pero al intentar hacer el experimento, este falló por haber demasiados datos.

In [57]:
display(Image(filename='/Users/arielbarraza/Documents/Cursos/2019_01/CC5206/Proyecto/hito3/cluster1.png'))
display(Image(filename='/Users/arielbarraza/Documents/Cursos/2019_01/CC5206/Proyecto/hito3/cluster2.png'))
display(Image(filename='/Users/arielbarraza/Documents/Cursos/2019_01/CC5206/Proyecto/hito3/cluster3.png'))
display(Image(filename='/Users/arielbarraza/Documents/Cursos/2019_01/CC5206/Proyecto/hito3/cluster4.png'))
display(Image(filename='/Users/arielbarraza/Documents/Cursos/2019_01/CC5206/Proyecto/hito3/cluster5.png'))

6. Reglas de asociación

6.1 Análisis por grupo etario

Para el análisis por edad, se implementó el siguiente código en donde como ya se mencionó previamente se dividió el en 5 grupos estarios, y se realizaron reglas de asociación utilizando el algorítmo Apriori.

In [1]:
import csv

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
from importlib import reload
from sklearn.datasets import fetch_mldata 
import seaborn as sns; sns.set(style="ticks", color_codes=True)
import pyfpgrowth
from mlxtend.frequent_patterns import apriori
from mlxtend.preprocessing import TransactionEncoder
from mlxtend.frequent_patterns import association_rules
import sys
if sys.version[0] == '2':
    reload(sys)
    sys.setdefaultencoding("utf-8")

df = pd.read_excel("p1.xlsx")
data = df.fillna(0).values

#votos y edad

votos = np.nan_to_num(data[:, 4:-2])

#lista de regiones
regiones = np.unique(df['Región'].values)
N_regiones = len(regiones)

data_region = data[:,0]



#reemplazar regiones en el dataset
for region in regiones:
    data[data == region] = np.where(regiones == region)[0][0]
# para volver a obtener el nombre de la region tipear
# regiones[index], donde index es el valor de la columna region
    
respuestas=['Amistad civica','Autonomia/Libertad','Bien comun/Comunidad','Ciudadania','Democracia','Desarrollo','Descentralizacion','Dignidad','Diversidad','Emprendimiento Libre','Equidad de Genero','Respeto/conservacion de la naturaleza o medio ambiente','Estado de Derecho','Identidad cultural','Igualdad','Inclusion','Innovacion/creatividad','Integracion'	,'Justicia','Estado laico','Multiculturalidad','Participacion','Patriotismo','Paz/convivenciaPacifica','Pluralismo','Plurinacionalismo','Probidad','Republica','Respeto','Responsabilidad','Seguridad','Soberania','Solidaridad','Subsidiaridad','Tolerancia','Transparencia y publicidad','unidad']


#grupos de edad y valores binarios
grupo1=[]
grupo2=[]
grupo3=[]
grupo4=[]
grupo5=[]

for i in votos:
    if i[0]<=19:
        grupo1.append(i[1:])
        
    if i[0]>=20 and i[0]<=29:
         grupo2.append(i[1:])
    
    if i[0]>=30 and i[0]<=39:
         grupo3.append(i[1:])
     
    if i[0]>=40 and i[0]<=59:
         grupo4.append(i[1:])
         
    if i[0]>=60:
         grupo5.append(i[1:])
         
         


#grupos de edades con palabras
grup1 = []
grup2 = []
grup3 = []
grup4 = []
grup5 = []

for i in range(len(grupo1)):
    grup1.append([])
    for j in range(37):
        if grupo1[i][j]==1:
            grup1[i].append(respuestas[j])
        
    else: None


####  
    
for i in range(len(grupo2)):
    grup2.append([])
    for j in range(37):
           if grupo2[i][j]==1:
            grup2[i].append(respuestas[j])
        
    else: None

####
for i in range(len(grupo3)):
    grup3.append([])
    for j in range(37):
        if grupo3[i][j]==1:
           grup3[i].append(respuestas[j])
        
    else: None

 ####   
for i in range(len(grupo4)):
    grup4.append([])
    for j in range(37):
        if grupo4[i][j]==1:
            grup4[i].append(respuestas[j])
        
    else: None



 #### 
for i in range(len(grupo5)):
    grup5.append([])
    for j in range(37):
        if grupo5[i][j]==1:
            grup5[i].append(respuestas[j])
        
    else: None

 #### 



te = TransactionEncoder()
#grupo 1
g1= te.fit(grup1).transform( grup1)
df1 = pd.DataFrame(g1, columns=te.columns_)

g2= te.fit(grup2).transform( grup2)
df2 = pd.DataFrame(g2, columns=te.columns_)

g3= te.fit(grup3).transform( grup3)
df3 = pd.DataFrame(g3, columns=te.columns_)

g4= te.fit(grup4).transform( grup4)
df4 = pd.DataFrame(g4, columns=te.columns_)
#grupo5
g5 = te.fit(grup5).transform( grup5)
df = pd.DataFrame(g5, columns=te.columns_)


frequent_itemsets = apriori(df, min_support=0.02, use_colnames=True)
reg1= association_rules(frequent_itemsets, metric="lift", min_threshold=1)
reg1[ (reg1['lift'] >= 6) &(reg1['confidence'] >= 0.5) ]
reg1.sort_values(['lift'], ascending=[False])

f2= apriori(df1, min_support=0.02, use_colnames=True)
reg2 = association_rules(f2, metric="lift", min_threshold=1)
reg2[ (reg2['lift'] >= 6) &(reg2['confidence'] >= 0.5) ]
reg2.sort_values(['lift','confidence'], ascending=[False,  True])

f3= apriori(df2, min_support=0.02, use_colnames=True)
reg3= association_rules(f3, metric="lift", min_threshold=1)
reg3[ (reg3['lift'] >= 6) &(reg3['confidence'] >= 0.5) ]
reg3.sort_values(['lift','confidence'], ascending=[False, True])

f4 = apriori(df3, min_support=0.02, use_colnames=True)
reg4= association_rules(f4, metric="lift", min_threshold=1)
reg4[ (reg4['lift'] >= 6) &(reg4['confidence'] >= 0.5) ]
reg4.sort_values(['lift','confidence'], ascending=[False,  True])

f5= apriori(df4, min_support=0.02, use_colnames=True)
reg5= association_rules(f5, metric="lift", min_threshold=1)
reg5[ (reg5['lift'] >= 6) &(reg5['confidence'] >= 0.5) ]
reg5.sort_values(['lift','confidence'], ascending=[False,  True])
Out[1]:
antecedents consequents antecedent support consequent support support confidence lift leverage conviction
664 (Subsidiaridad) (Emprendimiento Libre, Estado de Derecho) 0.056803 0.040249 0.021608 0.380400 9.451151 0.019322 1.548984
661 (Emprendimiento Libre, Estado de Derecho) (Subsidiaridad) 0.040249 0.056803 0.021608 0.536852 9.451151 0.019322 2.036491
663 (Emprendimiento Libre) (Estado de Derecho, Subsidiaridad) 0.078008 0.034316 0.021608 0.276995 8.071886 0.018931 1.335654
662 (Estado de Derecho, Subsidiaridad) (Emprendimiento Libre) 0.034316 0.078008 0.021608 0.629669 8.071886 0.018931 2.489645
323 (Estado de Derecho, Autonomia/Libertad) (Subsidiaridad) 0.060978 0.056803 0.020729 0.339940 5.984565 0.017265 1.428957
326 (Subsidiaridad) (Estado de Derecho, Autonomia/Libertad) 0.056803 0.060978 0.020729 0.364926 5.984565 0.017265 1.478602
140 (Emprendimiento Libre) (Subsidiaridad) 0.078008 0.056803 0.024611 0.315493 5.554181 0.020180 1.377922
141 (Subsidiaridad) (Emprendimiento Libre) 0.056803 0.078008 0.024611 0.433269 5.554181 0.020180 1.626860
308 (Emprendimiento Libre) (Estado de Derecho, Autonomia/Libertad) 0.078008 0.060978 0.023329 0.299061 4.904421 0.018572 1.339663
305 (Estado de Derecho, Autonomia/Libertad) (Emprendimiento Libre) 0.060978 0.078008 0.023329 0.382583 4.904421 0.018572 1.493305
327 (Autonomia/Libertad) (Estado de Derecho, Subsidiaridad) 0.157883 0.034316 0.020729 0.131292 3.825965 0.015311 1.111632
322 (Estado de Derecho, Subsidiaridad) (Autonomia/Libertad) 0.034316 0.157883 0.020729 0.604055 3.825965 0.015311 2.126856
290 (Emprendimiento Libre) (Democracia, Autonomia/Libertad) 0.078008 0.072368 0.021571 0.276526 3.821122 0.015926 1.282191
287 (Democracia, Autonomia/Libertad) (Emprendimiento Libre) 0.072368 0.078008 0.021571 0.298077 3.821122 0.015926 1.313523
291 (Autonomia/Libertad) (Democracia, Emprendimiento Libre) 0.157883 0.036513 0.021571 0.136627 3.741832 0.015806 1.115957
286 (Democracia, Emprendimiento Libre) (Autonomia/Libertad) 0.036513 0.157883 0.021571 0.590772 3.741832 0.015806 2.057820
309 (Autonomia/Libertad) (Estado de Derecho, Emprendimiento Libre) 0.157883 0.040249 0.023329 0.147762 3.671182 0.016974 1.126153
304 (Estado de Derecho, Emprendimiento Libre) (Autonomia/Libertad) 0.040249 0.157883 0.023329 0.579618 3.671182 0.016974 2.003217
313 (Emprendimiento Libre) (Justicia, Autonomia/Libertad) 0.078008 0.080645 0.021498 0.275587 3.417302 0.015207 1.269104
312 (Justicia, Autonomia/Libertad) (Emprendimiento Libre) 0.080645 0.078008 0.021498 0.266576 3.417302 0.015207 1.257107
315 (Autonomia/Libertad) (Emprendimiento Libre, Justicia) 0.157883 0.043069 0.021498 0.136163 3.161513 0.014698 1.107768
310 (Emprendimiento Libre, Justicia) (Autonomia/Libertad) 0.043069 0.157883 0.021498 0.499150 3.161513 0.014698 1.681374
665 (Estado de Derecho) (Emprendimiento Libre, Subsidiaridad) 0.280132 0.024611 0.021608 0.077134 3.134153 0.014713 1.056913
660 (Emprendimiento Libre, Subsidiaridad) (Estado de Derecho) 0.024611 0.280132 0.021608 0.877976 3.134153 0.014713 5.899407
325 (Estado de Derecho) (Subsidiaridad, Autonomia/Libertad) 0.280132 0.024574 0.020729 0.073997 3.011143 0.013845 1.053372
324 (Subsidiaridad, Autonomia/Libertad) (Estado de Derecho) 0.024574 0.280132 0.020729 0.843517 3.011143 0.013845 4.600300
444 (Subsidiaridad) (Estado de Derecho, Democracia) 0.056803 0.139938 0.023073 0.406190 2.902645 0.015124 1.448378
441 (Estado de Derecho, Democracia) (Subsidiaridad) 0.139938 0.056803 0.023073 0.164878 2.902645 0.015124 1.129413
11 (Autonomia/Libertad) (Subsidiaridad) 0.157883 0.056803 0.024574 0.155648 2.740153 0.015606 1.117067
10 (Subsidiaridad) (Autonomia/Libertad) 0.056803 0.157883 0.024574 0.432624 2.740153 0.015606 1.484231
... ... ... ... ... ... ... ... ... ...
340 (Participacion) (Democracia, Bien comun/Comunidad) 0.204065 0.097455 0.020070 0.098349 1.009176 0.000182 1.000992
339 (Democracia, Bien comun/Comunidad) (Participacion) 0.097455 0.204065 0.020070 0.205938 1.009176 0.000182 1.002358
359 (Justicia) (Estado de Derecho, Bien comun/Comunidad) 0.488665 0.070866 0.034939 0.071498 1.008919 0.000309 1.000681
356 (Estado de Derecho, Bien comun/Comunidad) (Justicia) 0.070866 0.488665 0.034939 0.493023 1.008919 0.000309 1.008596
395 (Democracia, Igualdad) (Dignidad) 0.144149 0.199451 0.029006 0.201220 1.008869 0.000255 1.002214
396 (Dignidad) (Democracia, Igualdad) 0.199451 0.144149 0.029006 0.145428 1.008869 0.000255 1.001496
816 (Justicia, Transparencia y publicidad) (Respeto/conservacion de la naturaleza o medio... 0.098370 0.316719 0.031350 0.318690 1.006223 0.000194 1.002893
817 (Respeto/conservacion de la naturaleza o medio... (Justicia, Transparencia y publicidad) 0.316719 0.098370 0.031350 0.098982 1.006223 0.000194 1.000679
485 (Igualdad) (Democracia, Transparencia y publicidad) 0.367552 0.057535 0.021278 0.057892 1.006193 0.000131 1.000378
484 (Democracia, Transparencia y publicidad) (Igualdad) 0.057535 0.367552 0.021278 0.369828 1.006193 0.000131 1.003612
745 (Justicia, Igualdad) (Solidaridad) 0.195459 0.147079 0.028896 0.147836 1.005144 0.000148 1.000888
746 (Solidaridad) (Justicia, Igualdad) 0.147079 0.195459 0.028896 0.196464 1.005144 0.000148 1.001251
197 (Igualdad) (Seguridad) 0.367552 0.252994 0.093389 0.254085 1.004314 0.000401 1.001463
196 (Seguridad) (Igualdad) 0.252994 0.367552 0.093389 0.369137 1.004314 0.000401 1.002513
341 (Bien comun/Comunidad) (Participacion, Democracia) 0.247830 0.080681 0.020070 0.080981 1.003719 0.000074 1.000326
338 (Participacion, Democracia) (Bien comun/Comunidad) 0.080681 0.247830 0.020070 0.248752 1.003719 0.000074 1.001227
555 (Seguridad) (Descentralizacion, Igualdad) 0.252994 0.105548 0.026772 0.105819 1.002567 0.000069 1.000303
554 (Descentralizacion, Igualdad) (Seguridad) 0.105548 0.252994 0.026772 0.253643 1.002567 0.000069 1.000870
373 (Bien comun/Comunidad) (Respeto/conservacion de la naturaleza o medio... 0.247830 0.151767 0.037685 0.152061 1.001940 0.000073 1.000347
370 (Respeto/conservacion de la naturaleza o medio... (Bien comun/Comunidad) 0.151767 0.247830 0.037685 0.248311 1.001940 0.000073 1.000640
368 (Bien comun/Comunidad) (Probidad, Justicia) 0.247830 0.098407 0.024428 0.098567 1.001623 0.000040 1.000177
365 (Probidad, Justicia) (Bien comun/Comunidad) 0.098407 0.247830 0.024428 0.248232 1.001623 0.000040 1.000535
66 (Dignidad) (Desarrollo) 0.199451 0.114814 0.022926 0.114947 1.001155 0.000026 1.000150
67 (Desarrollo) (Dignidad) 0.114814 0.199451 0.022926 0.199681 1.001155 0.000026 1.000288
155 (Estado laico) (Estado de Derecho) 0.156345 0.280132 0.043838 0.280394 1.000934 0.000041 1.000364
154 (Estado de Derecho) (Estado laico) 0.280132 0.156345 0.043838 0.156491 1.000934 0.000041 1.000173
763 (Igualdad) (Seguridad, Transparencia y publicidad) 0.367552 0.062443 0.022963 0.062475 1.000517 0.000012 1.000034
758 (Seguridad, Transparencia y publicidad) (Igualdad) 0.062443 0.367552 0.022963 0.367742 1.000517 0.000012 1.000301
35 (Diversidad) (Democracia) 0.096283 0.379198 0.036513 0.379232 1.000089 0.000003 1.000054
34 (Democracia) (Diversidad) 0.379198 0.096283 0.036513 0.096291 1.000089 0.000003 1.000009

868 rows × 9 columns

6.2. Análisis de reglas de asociación

6.2.1. Por grupo etario

Para las reglas de asociación se utilizaron dos algoritmos distintos para genera itemsets y luego reglas. Primero se comenzó con el algoritmo Fp-growth debido a su mayor rapidez en comparación al algoritmo Apriori. No obstante, la librería utilizada para realizar el algoritmo Fp-grwth entregaba los resultados de una manera muy desordenas, lo cual hacia bastante difícil la evaluación de estos mismos. Además, no fue posible encontrar una librería de Python que utilizara el algoritmo Fp-growth y entregara todas las métricas importantes de las reglas de asociación, a saber, support, lift y conffidence. Por esto ultimo, se decidió realizar nuevamente las pruebas con el algoritmo Apriori, y agregar algún de las sugerencias que fueron hechas el día de la presentación, esto es, analizar nuevamente los resultados por región, particularmente para las regiones metropolitana, del Biobío y Araucanía.

Ahora, analizando los distintos rangos de edades nuevamente, pero ahora con el algoritmo Apriori y ordenados por un lift descendente, se tiene lo siguiente para los distintos rangos de edades:

-Edad <19: Para este rango de edad es posible observar que hay reglas que poseen un alto lift y conffidence. NO obstante, analizando un poco las reglas que se generan, casi todas poseen los mismos elementos, esto es, las cosas que más se votaron juntas y que poseen una mayor probabilidad de que se haya votado una sabiendo que las otras se botaron, fueron los conceptos de Autonomía, libertad, democracia, subsidiaridad, estado de derecho y emprendimiento libre. Se nombran los conceptos y no sus reglas debido a que se generan muchas reglas que son redundantes entre los conceptos ya mencionados, poseyendo todas (reglas) una alto lift (10<) y una confianza sobre el 70%.

-20<Edad <29: En este grupo las métricas emporan bastante, desde el pugno de vista del lift como del conffidence. Es posible observar que al ordenar las reglas por lift, las únicas reglas que tienen métricas un tanto confiables son d emprendimiento libre y autonomía. Además aparecen nuevos conceptos y reglas con cierto grado de optimalidad, que son equidad de genero, estado laico y conservación de la naturaleza. Y a su ves, los conceptos de solidaridad, seguridad y respeto.

-30<Edad <39: Se mantienen conceptos y reglas parecidas al del grupo anterior, pero surgen otras con métricas elativamente buenas, como lo son desarrollo justicia y seguridad, y también, plurinacionalismo y estado laico.

-40<Edad <59: Se obtienen reglas y resultados similares a los dos grupos anteriores.

-60<Edad : Similar a los grupos anteriores, en donde algunas métricas mejoran para ciertas reglas como por ejemplo autonomía, estado de derecho y subsidiaridad.

6.2.2. Por zona geográfica

Cabe mencionar que el código por zona geográfica se adjunta en anexos como comentario dada su longitud y costo computacional. Ahora, observando los resultados obtenidos por zona geográfica, esto es, por regiones, particularmente se trabajo con la región de la Araucanía, metropolitana, Biobío y Valparaíso. Además, como fue sugerido en la presentación, se realizo un análisis en particular por comunas de la región metropolitana, cuyos resultados se procederían a analizar. Primero en cuanto a los resultados obtenidos por comunas de la región metropolitana, se puede observa que las reglas generadas, al igual que por rangos de edad, las que alcanzan mejores métricas en cuanto a confianza y lift, tienden a estar conformadas por los conceptos mas botados. No obstante, tal como se sugirió el día de la presentación, si surgen reglas que no son posibles ver en todas las comunas, en donde, en comunas del sector oriente, tales como Vitacura o Los condes, hay conceptos que no aparecen en reglas de comunas de ingreso per cápita mas bajo. Finalmente, en cuanto a los resultados por regiones, se tiene que al igual que para los casos anteriores las reglas con mejores métricas, tienden a estar conformadas por los conceptos más votados. Aunque cabe mencionar que si surgen reglas con un lift cercano a 4 y conffidence del orden 30%, que son distintivas para ciertas regiones, particularmente para la Araucanía.

7 Conclusiones

De lo anterior, es posible concluir que las reglas de asociación encontradas por zona geográfica con mejores métricas tienden a estar conformadas por los conceptos más votados, no obstante, si surgen ciertas diferenciaciones principalmente por zona geográfica, ya sea por comuna y para algunas regiones. Por otro lado, por rango etario no se encontraron reglas que fueran características de ciertos grupos, sino que más bien, todos los grupos tendían a generar reglas conformadas por los conceptos más votados, lo cual se puede deber quizá a que la discusión en los cabildos se centro en dichos conceptos.

En cuanto a los clusterings se encontraron relaciones entre Justicia, Democracia y Estado de Derecho.

No se encontró evidencia de que la varaible edad fuera relevante en la votación.

La estructura de los datos es aglomerativa y existen más relaciones que podrían aparecer aumentando el valor de k en k-means.